The proliferation of wireless access points (AP's) which may be coupled to a wide-area network (WAN), such as the internet, or a local-area network (LAN), has made it possible to wirelessly send and receive data packets, such as TCP/IP or UDP/IP packets to and from a variety of wireless devices and wired devices which are connected to the network. A variety of protocols may be used to support the physical layer connection of the wireless devices to the AP's, for example the IEEE 802.11 protocol. At the same time that such wireless infrastructure is growing, algorithms referred to as “codecs” have been developed to sample and code conversation into voice data packets. The codecs can also decode the voice data packets and convert them into audible conversation. By combining codec technology and a wireless protocol such as 802.11 into mobile phones, such mobile phones can send and receive voice data packets via a wireless access point (AP). One type of voice data packet format which is gaining in popularity is voice-over-IP (VoIP).
FIG. 1 schematically illustrates one embodiment of a VoIP system 20 which supports a plurality of wireless (and therefore, potentially mobile) VoIP phones 22A, 22B, 22C. A plurality of access points 24A, 24B, and 24C are coupled to a VoIP core controller 26. For simplicity, the element 26 will be referred-to as a VoIP core controller, but it should be understood that element 26 can be a VoIP core controller and/or a WiFi controller. The VoIP core controller 26 coordinates the overall VoIP system 20. Each VoIP phone 22 can wirelessly connect to an AP 24, for example, using the 802.11 protocol. When the phone 22 associates with an AP 24, the phone 22 can then register with the VoIP core controller 26 via the AP 24. The VoIP core controller 26 manages IP address assignments for each of the registered devices, tracks which AP 24 the portable device is communicating through, and assists in routing data to and from the mobile phone 22. The VoIP core controller 26 may be a computer, laptop, processor, networking device, server, microprocessor, application specific integrated circuit (ASIC), analog electrical component, digital electrical component, any plurality there-of, or any combination thereof. The VoIP core controller 26 may be localized or distributed. The VoIP core controller 26 may facilitate voice conversations between multiple wireless phones 22, and may optionally be coupled to one or more public service telephone networks (PSTN) 28, for example via a voice gateway, to enable the VoIP phone 22 to make calls to more traditional phone systems, and visa-versa.
The AP's 24 may be coupled to the VoIP core controller 26 in a variety of ways. As one example, an AP 24A may be hard-wired 30 to the VoIP core controller 26, for example by an Ethernet or an ISDN connection. As another example, an AP 24B may be wirelessly connected 32 with the VoIP core controller 26, for example, by using an 2.4 GHz or a 5 GHz wireless protocol. As a further example, an AP 24C may be coupled to the VoIP core controller 26 by a network 34. The network 34 could be wide area network (WAN) or a local area network (LAN).
Each AP 24 will have an associated coverage area 36. In this embodiment, the AP coverage areas 36 are illustrated as being circular and of the same size. It should be understood, however, that the AP coverage areas 36 do not necessarily have to be circular. AP antennas may be designed to broadcast differing coverage shapes. Furthermore, AP antennas may have different power levels, which can lead to different size coverage areas, even from the same style antenna. When a VoIP mobile phone 22 (sometimes referred-to as a “client”) is within the coverage area 36, it can wirelessly connect 38 to the AP 24 in the coverage area 36. If the VoIP mobile phone 22 moves outside of the coverage area 36, it can not connect to the AP 24.
Assuming, for simplicity, a circular coverage area 36, an AP 24 will typically have a coverage area 36 having a maximum radius of a few hundred feet. As compared to cellular mobile technology (such as GSM, or CDMA) which has a cellular radius of approximately 2 miles, it is apparent that VoIP-type systems must have far more AP's 24 in order to have complete coverage over a similar area. An effective VoIP system 20 will therefore have many overlapping coverage areas. Although the AP's 24 in the embodiment of FIG. 1 are not illustrated as overlapping, the coverage areas I, II, and III in the embodiment of FIG. 2 do overlap. Given the relatively close distribution of AP's which is necessary in VoIP systems in order to have overlapping coverage areas, it is likely that a user of a VoIP mobile phone who is on the move will have a frequent need to roam from one AP to another AP during a call.
FIG. 2 schematically illustrates another embodiment of a VoIP system 40. Three AP's 42, 44, 46 are illustrated in this embodiment. AP coverage area I is provided by AP 42, AP coverage area II is provided by AP 44, and AP coverage area III is provided by AP 46. AP's 42 and 44 are connected to a network 34 via respective “layer 2” switches 48 and 50, and via subnet A router 52. AP 46 is connected to network 34 via switch 54 and subnet B router 56. In this embodiment, when a VoIP mobile phone 58 moves from coverage area I to coverage area II, it can simply re-associate from the first AP 42 to the second AP 44 because the “layer 3” network address is maintained due to the common subnet A router 52 shared by the AP's 42, 44. Being able to maintain the layer 3 network address means that the IP address assigned to the VoIP mobile phone 58 does not need to change when the phone 58 re-associates with AP 44. The 802.11 specification addresses this type of re-association.
Unfortunately, IP addresses cannot always be maintained when roaming from one AP to another. For example, when a second VoIP mobile phone 60 moves from coverage area II to coverage area III, it cannot simply re-associate from the second AP 44 to the third AP 46 because the layer 3 network address cannot be maintained. AP's 44 and 46 are on different subnets, and therefore the phone 60 will need a new IP address mapped to it before it can communicate with AP 54. Unfortunately, there is no standard procedure for this type of AP transfer in the 802.11 specification or otherwise. If only the 802.11 specification is relied on for this type of roaming, then a call in-progress during a move from coverage area II to coverage area III would be dropped.
The realities of actual VoIP coverage areas exacerbate the need for a method and system to deal with wireless VoIP roaming. FIG. 3 schematically illustrates one embodiment of distributed access points (AP's) for multiple service providers and their corresponding coverage areas. In this more faithful-to-real-life example, two sets of overlapping provider VoIP coverage areas are illustrated. The dots represent AP's for a first provider, provider A. The coverage areas for each AP in provider A's network are shown as a solid line circle. The x's represent AP's for a second provider, provider B. The coverage areas for each AP in provider B's network are shown as a dashed line circle. Also thrown into the mix is a personal AP 62 which is represented by a triangle. The personal AP 62 could be someone's wireless AP in their house. The coverage area for the personal AP is shown as a partially broken circle.
Not even taking movement into account, VoIP mobile phones located in the system of FIG. 3 may be presented with a variety of connection options, depending on where they are located. Some locations will only have one connection option. For example, phone 64 can only connect to AP 66 on provider B's network, phone 68 can only connect to AP 70 on provider A's network, and phone 72 can only connect to the personal AP 62. Other phones will have multiple connection options within a single provider's network. For example, phone 74 can connect to either AP 76, AP 78, or AP 80 on provider A's network. Single providers may desire to create highly overlapping AP's (such as AP's 76, 78, 80) since the number of users who can connect to a single AP are limited. Still other phones will have multiple connection options, each for a variety of networks. For example, phone 82 can connect to AP 84 on provider A's network, AP 86 on provider B's network, or personal AP 62. Still other phones will have multiple connection options for multiple networks. For example, phone 88 can connect to AP's 90 and 92 on provider A's network and to AP's 94, 96 on provider B's network.
When one adds the complication of movement to the scenario of FIG. 3, it can be appreciated how important it will be to enable phones to roam from one AP to another in a way which does not drop phone calls. Large networks have to be divided into many subnets and therefore, permanent IP's can not be used. In addition to being able to roam, it is also important to know when to roam. Simplistic roaming decisions could be made on signal strength received from each AP, but using this alone leads to a flip-flop procedure (which results in excessive dropped voice data) when attempting to transfer between AP's with similar transmission levels. Simply transferring to the AP with the highest transmission level, based on a received signal strength indicator (RSSI) does nothing to balance the load on the system.
Therefore, it is desirable to have a packet communication roaming method and system which will enable phones to roam from one AP to another, even if IP addresses can not be maintained, the method not being susceptible to flip-flopping, and which assists in balancing the load on a packet communication system, such as a VoIP or WiFi system.